$(document).ready(function() {
	//加载表格数据
	ajaxTable();
	
	//初始化弹出层
	setDialog_add();
	closeDialog_add();
	setDialog_edit();
	closeDialog_edit();
});

/**--------------table------------------**/
/**
 * 加载表格数据
 */
function ajaxTable(){
	//加载表格
	$('#carInfoTable').datagrid({
		toolbar:[{//正上方工具栏
			text:'添加特殊车辆',
			iconCls:'icon-add',
			handler:function(){
				//点击工具栏运行的js方法
				setDialog_add();
			}
		},'-',{
				text:'批量删除',
				iconCls:'icon-cancel',
				handler:function(){
					batch('delete');
				}
		}],
		type:'post',
		pageNober : 1,
		loadMsg:'数据加载中,请稍后...',
		pageList:[10,30,50,100], //设置每页显示多少条
		onLoadError:function(){
			alert('数据加载失败!');
		},
		queryParams:{//查询条件
		},
		onClickRow:function(rowIndex, rowData){
			//取消选择某行后高亮
			$('#carInfoTable').datagrid('unselectRow', rowIndex);
		},
		onLoadSuccess:function(){
			var value = $('#carInfoTable').datagrid('getData')['errorMsg'];
			if(value!=null){
				alert("错误消息:"+value);
			}
		}
	}).datagrid('acceptChanges');
}
/**
 * 设置操作列的信息
 * 参数说明
          value 这个可以不管，但是要使用后面 row 和index 这个参数是必须的
          row   当前行的数据
          index 当前行的索引  从0 开始
 */
function optFormater(value,row,index){
	var carNo = row.carNo;
	var carOwner = row.carOwner;
	var contact = row.contact;
	var comments = row.comments;
	var opt = '';
	var edit = '<a href="#" onclick="openDialog_edit(\''+carNo + '\',\''+ carOwner + '\',\'' + contact +'\',\'' + comments+'\')">编辑</a> ';
	var del =  '| <a href="#" onclick="doDel(\''+ carNo+ '\')">删除</a>';
	return opt+edit+del;
};
//刷新表格
function reloadTable(){
	$('#carInfoTable').datagrid('reload');
}


/**--------------添加操作弹出框------------------**/
//设置弹出框的属性
function setDialog_add(){
	$('#carInfoAdd').dialog({
		title : '添加特殊车辆',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : false,    	//可拖动边框大小
		onClose : function(){   //继承自panel的关闭事件
			carInfoAddReset();
		}
	});
}
//打开对话框
function openDialog_add(){
	$('#carInfoAdd').dialog('open');
}
//关闭对话框
function closeDialog_add(){
	$('#carInfoAdd').dialog('close');
}
//执行特殊车辆添加操作
function carInfoAdd(){
	var validateResult = true;
	//easyui 表单验证
	$('#table_carInfoAdd input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			if (!$(this).validatebox('isValid')) {
				//如果验证不通过，则返回false
				validateResult = false;
				return;
		    }
		}
    });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"specialCar.carNo" : $("#carInfoAdd_carNo").val(),
			"specialCar.carOwner" : $("#carInfoAdd_carOwner").val(),
			"specialCar.contact" : $("#carInfoAdd_contact").val(),
			"specialCar.comments" : $("#carInfoAdd_comments").val()
		},
		url: root+'/specialcar/doAddSpecialCar.jhtml',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "添加成功!";
			if(data==null){//未返回任何消息表示添加成功
				carInfoAddReset();
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#carInfoAdd_message").html(messgage);
		}
	});
	
	closeDialog_add();
}
//特殊车辆添加页面数据重置操作
function carInfoAddReset(){
	$("#carInfoAdd_message").html("");
	$("#carInfoAdd_carNo").val("");
	$("#carInfoAdd_carOwner").val("");
	$("#carInfoAdd_contact").val("");
}

/**--------------编辑操作弹出框------------------**/
//设置弹出框的属性
function setDialog_edit(){
	$('#carInfoEdit').dialog({
		title : '特殊车辆编辑',
		modal: true,         	//模式窗口：窗口背景不可操作
		collapsible : true,  	//可折叠，点击窗口右上角折叠图标将内容折叠起来
		resizable : false,    	//可拖动边框大小
		onClose : function(){   //继承自panel的关闭事件
			$("#carInfoEdit_message").html("");
			$("#carInfoEdit_carOwner").val("");
			$("#carInfoEdit_contact").val("");
			$("#carInfoEdit_comments").val("");
	}
	});
}

//打开对话框
function openDialog_edit(carNo,carOwner,contact,comments){
	carInfoEditReset(carNo,carOwner,contact,comments);
	$('#carInfoEdit').dialog('open');
}

//关闭对话框
function closeDialog_edit(){
	$('#carInfoEdit').dialog('close');
}

//根据特殊车辆id查询特殊车辆的信息
function carInfoEditReset(carNo,carOwner,contact,comments){
	$("#carInfoEdit_message").html("");
	$("#carInfoEdit_carNo").val(carNo);
	$("#carInfoEdit_carOwner").val(carOwner);
	$("#carInfoEdit_contact").val(contact);
	$("#carInfoEdit_comments").val(comments);
}

//执行特殊车辆编辑操作
function carInfoEdit(){
	var validateResult=true;
	//easyui 表单验证
	$('#table_carInfoEdit input').each(function () {
		if ($(this).attr('required') || $(this).attr('validType')) {
			if (!$(this).validatebox('isValid')) {
				//如果验证不通过，则返回false
				validateResult = false;
				return;
		    }
		}
    });
	if(validateResult==false){
		return;
	}
	
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		data : {
			"specialCar.carNo" : $("#carInfoEdit_carNo").val(),
			"specialCar.carOwner" : $("#carInfoEdit_carOwner").val(),
			"specialCar.contact" : $("#carInfoEdit_contact").val(),
			"specialCar.comments" : $("#carInfoEdit_comments").val()
		},
		url: root+'/specialcar/doEditSpecialCar.jhtml',//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			var messgage = "修改成功!";
			if(data==null){//未返回任何消息表示添加成功
				//刷新列表
				reloadTable();
			}else if(data.errorMsg!=null){//返回异常信息
				messgage = data.errorMsg;
			}
			$("#carInfoEdit_message").html(messgage);
		}
	});
	closeDialog_edit();
}


/**
 * 删除操作
 * @return
 */
function doDel( carNo ){
	$.messager.confirm('删除提示', '你确定永久删除该数据吗?', function(r){
		if (r){
			var url = root+'/specialcar/doDelSpecialCar.jhtml';
			//changeStatus(url);
			$.ajax({
				async : false,
				cache:false,
				type: 'POST',
				dataType : "json",
				data:{
					"carNo" : carNo
				},
				url:url,//请求的action路径
				error: function () {//请求失败处理函数
					alert('请求失败');
				},success:function(data){
					if(data!=null){//返回异常信息
						$.messager.alert('错误提示',data.errorMsg,'error');
					}
					reloadTable();
				}
			});
		}
	});
}

/**
 * 批量删除操作
 * @return
 */
function batch(flag){
	if($('#carInfoTable').datagrid('getSelected')){
		//首先如果特殊车辆选择了数据，则获取选择的数据集合
		var ids = [];
		var selectedRow = $('#carInfoTable').datagrid('getSelections');
		for(var i=0;i<selectedRow.length;i++){
			ids.push(selectedRow[i].carNo);
		}
		var carNo = ids.join(',');
		
		//删除操作
		$.messager.confirm('删除提示', '你确定永久删除下列特殊车辆吗?<br/>'+carNo, function(r){
			if (r){
				var url = root+'/specialcar/doDelSpecialCar.jhtml';
				//changeStatus(url);
				$.ajax({
					async : false,
					cache:false,
					type: 'POST',
					dataType : "json",
					data:{
						"carNo" : carNo
					},
					url:url,//请求的action路径
					error: function () {//请求失败处理函数
						alert('请求失败');
					},success:function(data){
						if(data!=null){//返回异常信息
							$.messager.alert('错误提示',data.errorMsg,'error');
						}
						reloadTable();
					}
				});
			}
		});
	}//end of if
}
	
/**
 * 修改状态的Ajax
 * @param url
 * @return
 */
function changeStatus(url){
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		url:url,//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			if(data!=null){//返回异常信息
				$.messager.alert('错误提示',data.errorMsg,'error');
			}
			reloadTable();
		}
	});
}

function uploadSpecialCars1( ){
	var url = root+'/specialcar/doLoadSpecialCarsFromFile.jhtml';
	$.ajax({
		async : false,
		cache:false,
		type: 'POST',
		dataType : "json",
		url:url,//请求的action路径
		error: function () {//请求失败处理函数
			alert('请求失败');
		},success:function(data){
			if(data!=null && data.errorMsg!=null){//返回异常信息
				msgShow("批量上传成功","成功上传"+data + "条数据","info");
			} else {
				$.messager.alert('错误提示',data.errorMsg,'error');
			}
			reloadTable();
		}
	});
}

/**
 * 弹出信息窗口
 * @param title    		标题
 * @param msgString    	提示信息
 * @param msgType    	信息类型 [error,info,question,warning]
 */
function msgShow(title, msgString, msgType) {
	$.messager.alert(title, msgString, msgType);
}